package com.easybbs.service;

import com.easybbs.entity.po.UserInfo;
import com.easybbs.entity.vo.request.AccountLoginReqVO;
import com.easybbs.entity.vo.request.AccountRegisterReqVO;
import com.easybbs.entity.vo.request.AccountResetPwdReqVO;
import com.easybbs.entity.vo.request.AccountSendEmailCodeReqVO;
import com.easybbs.entity.vo.response.AccountCheckCodeRspVO;
import com.easybbs.entity.vo.response.AccountGetUserInfoRspVO;
import com.easybbs.entity.vo.response.AccountLoginRspVO;

import java.awt.*;
import java.io.IOException;

/**
 * @Author: yudaxian
 * @Description: 账户相关业务接口
 * @DateTime: 2024/10/18 10:18
 **/
public interface AccountService {
    /**
     * 获取验证码 : 0-登录,注册  1-邮箱验证码
     * @param type
     * @return
     * @throws IOException
     * @throws FontFormatException
     */
    AccountCheckCodeRspVO checkCode(Integer type) throws IOException, FontFormatException;

    void sendEmailCode(AccountSendEmailCodeReqVO reqVO);

    void register(AccountRegisterReqVO reqVO);

    AccountLoginRspVO login(AccountLoginReqVO reqVO);

    UserInfo getOnlyLoginUserInfo();

    void resetPwd(AccountResetPwdReqVO reqVO);

    UserInfo getLoginOrNotUserInfo();
}
